pslint
-------

pslint is a utility to precheck certain documents (i.e personal statements),
before insertion into a form.

It was inspired by Void Linux's [xlint](https://github.com/chneukirchen/xtools/blob/master/xlint) utility and is designed to aid in formatting statements properly before being put onto a form, potentially avoiding sheer disappointment.

The current implementation is in C++.

## Implemented Tests

* Character check (by default the limits are between 1000-4000 characters)
* Line check (default limit of 47 lines, 67 columns, each row of 67 cols = 1 line)

Changing these limits is as easy as changing these defines in pslint.cpp:

```
#define MAX_COLS 67
#define MAX_LINES 47
#define MIN_CHARS 1000 
#define MAX_CHARS 4000
```

## Usage
`(./)pslint(.exe) FILE`

Note that FILE **MUST** be a human readable, plain text format (e.g .txt).

## Building

You will need a fairly recent compiler with C++11 support, and mingw if compiling for a windows platform on linux.

### Instructions:

```
git clone https://github.com/WilliamO7/pslint
cd pslint

# Now choose the make option for your platform

make native - Build for your architecture on your platform
make native-32 - Build with -m32 on 64-bit system to target a 32-bit system of the same platform.
make mingw(-32) - Build 64/32 bit windows binaries with mingw
make release - Make release zip for windows and tar.xz for linux with binary and documentation
make install - install into /usr/bin (might not work on windows.)
```

## Binaries
Binaries can be found in the [releases tab.](https://github.com/WilliamO7/pslint/releases) 

## To-do
* ~~Actually test building for mingw (windows) based systems~~ DONE!
* ~~Add releases for all OS's~~ DONE!
* Implement a proper leading/trailing whitespace check
* Implement an invalid character check
* Enable on-the-fly overrides of the default variables (i.e. do not fully hardcode them), possibly by implementing an argument parser?
* Support more file formats (e.g docx, odt, etc.)
* Anything else?

## Copyrights

(C) 2016 William Obiri-Danso

Licenced under Apache 2.0, please read LICENCE for more details.
